class IdiomasUsuariosController < ApplicationController
  # MODULE: Idiomas
  #
  # GET /idiomas_usuarios
  # GET /idiomas_usuarios.xml
  def index
    @idiomas_usuarios = IdiomaUsuario.all
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @idiomas_usuarios }
    end
  end

  # GET /idiomas_usuarios/1
  # GET /idiomas_usuarios/1.xml
  def show
    @idioma_usuario = IdiomaUsuario.find(params[:id])   
    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @idioma_usuario }
    end
  end

  # GET /idiomas_usuarios/new
  # GET /idiomas_usuarios/new.xml
  def new
    @idioma_usuario = IdiomaUsuario.new
    @idioma_usuario.usuario_id = params[:usuario_id]
    @usuario=Usuario.find(params[:usuario_id])
    
    respond_to do |format|
      format.html # new.html.erb
      format.js { render :layout => false}
      format.xml  { render :xml => @idioma_usuario }
    end
  end

  # GET /idiomas_usuarios/1/edit
  def edit
    @idioma_usuario = IdiomaUsuario.find(params[:id])
    respond_to do |format|
      format.html # new.html.erb
      format.js { render :layout => false}
      format.xml  { render :xml => @idioma_usuario }
    end
  end

  # POST /idiomas_usuarios
  # POST /idiomas_usuarios.xml
  def create
    @idioma_usuario = IdiomaUsuario.new(params[:idioma_usuario])
    @usuario = @idioma_usuario.usuario
    respond_to do |format|
      if @idioma_usuario.save
        format.html {
          flash[:notice] =  'Se agregó el idioma correctamente.'
          params[:oper].nil? ? redirect_to(cuenta(@formacion.usuario)) : render(:text => "Ok")
        }
        format.js   {actualizar_view}
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @idioma_usuario.errors, :status => :unprocessable_entity }
      end
    end
  end

  # PUT /idiomas_usuarios/1
  # PUT /idiomas_usuarios/1.xml
  def update
    @idioma_usuario = IdiomaUsuario.find(params[:id])
    @usuario = @idioma_usuario.usuario
    respond_to do |format|
      if @idioma_usuario.update_attributes(params[:idioma_usuario])
        format.html {
          flash[:notice] = 'Se edito el idioma correctamente.'
          redirect_to(cuenta(@formacion.usuario)) }
        format.js   {actualizar_view}
        format.xml  { head :ok }
      else
        format.html { render :action => "edit" }
        format.xml  { render :xml => @idioma_usuario.errors, :status => :unprocessable_entity }
      end
    end
  end

  # DELETE /idiomas_usuarios/1
  # DELETE /idiomas_usuarios/1.xml
  def destroy
    @idioma_usuario = IdiomaUsuario.find(params[:id])
    @idioma_usuario.destroy

    respond_to do |format|
      format.html {}
      format.js do
        render :update do |page|
          page["tr-idiomausuario-#{params[:id]}"].remove
        end
      end
    end
  end
  
  private
  def actualizar_view
    @idiomas_usuarios = @usuario.idiomas
    @action_name="edit"
    render :update do |page|
      page.replace_html "idiomas", :file => "idiomas_usuarios/index"
      page << "makeColorBox()"
    end
  end
end
